perm filename EFNS.LAP[206,LSP] blob
sn#143981 filedate 1975-02-02 generic text, type T, neo UTF8
(DEFPROP EFNS (NIL ADDNAMES CE CF COPYF DELNAMES DESTROY DLEXINSERT DLEXINSERT1 DROP MERGE PAIRMERGE RENAMEF SAV→
E SETNL SORT SORT1) VALUE)
(LAP ADDNAMES FSUBR)
(PUSH P 1)
(PUSH P 0 P)
TAG1 (MOVE 1 0 P)
(JUMPE 1 TAG11)
(HLRZ@ 1 0 P)
(MOVE 2 (SPECIAL NAMES) S)
(CALL 2 (E DLEXINSERT) S)
(MOVEM 1 (SPECIAL NAMES) S)
(HRRZ@ 1 0 P)
(MOVEM 1 0 P)
(JRST 0 TAG1)
TAG11 (MOVE 2 (SPECIAL NAMES) S)
(MOVE 1 (SPECIAL NAMELIST) S)
(CALL 2 (E SET) S)
(SUB P (C 1 0 1 0))
(SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP CE FSUBR)
(PUSH P 1)
(MOVE 2 (SPECIAL NAMES) S)
(HLRZ@ 1 0 P)
(CALL 2 (E MEMQ) S)
(JUMPE 1 TAG5)
TAG5 (MOVE 2 (SPECIAL NAMES) S)
(HLRZ@ 1 0 P)
(PUSH P (SPECIAL NAMELIST) S)
(CALL 2 (E DLEXINSERT) S)
(MOVEM 1 (SPECIAL NAMES) S)
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SET) S)
(MOVEI 1 (QUOTE NIL))
(CALL 1 (E NCONS) S)
(HRRZ@ 2 0 P)
(CALL 2 (E XCONS) S)
(MOVEI 2 (QUOTE LAMBDA) S)
(CALL 2 (E XCONS) S)
(MOVEI 3 (QUOTE EXPR) S)
(MOVE 2 1)
(HLRZ@ 1 0 P)
(CALL 3 (E PUTPROP) S)
(HLRZ@ 1 0 P)
(CALL 1 (E NCONS) S)
(SUB P (C 1 0 1 0))
(JCALL 17 (E EDITF) S)
NIL
(LAP CF FSUBR)
(PUSH P 1)
(MOVE 2 (SPECIAL NAMES) S)
(HLRZ@ 1 0 P)
(CALL 2 (E MEMQ) S)
(JUMPE 1 TAG5)
TAG5 (MOVE 2 (SPECIAL NAMES) S)
(HLRZ@ 1 0 P)
(PUSH P (SPECIAL NAMELIST) S)
(CALL 2 (E DLEXINSERT) S)
(MOVEM 1 (SPECIAL NAMES) S)
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SET) S)
(MOVEI 1 (QUOTE NIL))
(CALL 1 (E NCONS) S)
(HRRZ@ 2 0 P)
(CALL 2 (E XCONS) S)
(MOVEI 2 (QUOTE LAMBDA) S)
(CALL 2 (E XCONS) S)
(MOVEI 3 (QUOTE FEXPR) S)
(MOVE 2 1)
(HLRZ@ 1 0 P)
(CALL 3 (E PUTPROP) S)
(HLRZ@ 1 0 P)
(CALL 1 (E NCONS) S)
(SUB P (C 1 0 1 0))
(JCALL 17 (E EDITF) S)
NIL
(LAP COPYF FSUBR)
(PUSH P 1)
(MOVEI 2 (QUOTE (EXPR FEXPR LEXPR MACRO)) S)
(HLRZ@ 1 1)
(CALL 2 (E GETL) S)
(PUSH P 1)
(JUMPE 1 TAG5)
(MOVE 2 (SPECIAL NAMES) S)
(HRRZ@ 1 -1 P)
(HLRZ@ 1 1)
(CALL 2 (E MEMQ) S)
(JUMPE 1 TAG7)
(MOVEI 1 (QUOTE "NEW NAME CONFLICTS WITH EXISTING NAME") S)
(JRST 0 TAG1)
TAG7 (MOVE 2 (SPECIAL NAMES) S)
(HRRZ@ 1 -1 P)
(HLRZ@ 1 1)
(PUSH P (SPECIAL NAMELIST) S)
(CALL 2 (E DLEXINSERT) S)
(MOVEM 1 (SPECIAL NAMES) S)
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SET) S)
(HRRZ@ 1 -1 P)
(HLRZ@ 1 1)
(PUSH P 1)
(HLRZ@ 1 -1 P)
(PUSH P 1)
(HRRZ@ 1 -2 P)
(HLRZ@ 1 1)
(CALL 1 (E COPY) S)
(HLRZ@ 3 -2 P)
(MOVE 2 1)
(EXCH 1 -1 P)
(CALL 3 (E PUTPROP) S)
(POP P 2)
(CALL 2 (E XCONS) S)
(SUB P (C 1 0 1 0))
(JRST 0 TAG1)
TAG5 (MOVE 1 0 P)
TAG1 (SUB P (C 2 0 2 0))
(POPJ P)
NIL
(LAP DELNAMES FSUBR)
(PUSH P 1)
(PUSH P 0 P)
TAG1 (MOVE 1 0 P)
(JUMPE 1 TAG11)
(HLRZ@ 1 0 P)
(MOVE 2 (SPECIAL NAMES) S)
(CALL 2 (E DREMOVE) S)
(MOVEM 1 (SPECIAL NAMES) S)
(HRRZ@ 1 0 P)
(MOVEM 1 0 P)
(JRST 0 TAG1)
TAG11 (MOVE 2 (SPECIAL NAMES) S)
(MOVE 1 (SPECIAL NAMELIST) S)
(CALL 2 (E SET) S)
(SUB P (C 1 0 1 0))
(SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP DESTROY FSUBR)
(PUSH P 1)
(PUSH P 0 P)
TAG1 (MOVE 1 0 P)
(JUMPE 1 TAG12)
(HLRZ@ 1 0 P)
(MOVEI 2 (QUOTE (EXPR FEXPR LEXPR MACRO)) S)
(PUSH P 1)
(CALL 2 (E GETL) S)
(HLRZ@ 2 1)
(POP P 1)
(CALL 2 (E REMPROP) S)
(HRRZ@ 1 0 P)
(MOVEM 1 0 P)
(JRST 0 TAG1)
TAG12 (PUSH P -1 P)
TAG2 (MOVE 1 0 P)
(JUMPE 1 TAG21)
(HLRZ@ 1 0 P)
(MOVE 2 (SPECIAL NAMES) S)
(CALL 2 (E DREMOVE) S)
(MOVEM 1 (SPECIAL NAMES) S)
(HRRZ@ 1 0 P)
(MOVEM 1 0 P)
(JRST 0 TAG2)
TAG21 (MOVE 2 (SPECIAL NAMES) S)
(MOVE 1 (SPECIAL NAMELIST) S)
(CALL 2 (E SET) S)
(SUB P (C 2 0 2 0))
(SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP DLEXINSERT SUBR)
(PUSH P 1)
(PUSH P 2)
(JUMPN 2 TAG2)
(CALL 1 (E NCONS) S)
(JRST 0 TAG1)
TAG2 (MOVE 2 0 P)
(MOVE 1 -1 P)
(CALL 2 (E DLEXINSERT1) S)
(MOVE 1 0 P)
TAG1 (SUB P (C 2 0 2 0))
(POPJ P)
NIL
(LAP DLEXINSERT1 SUBR)
(PUSH P 1)
(PUSH P 2)
(HLRZ@ 2 2)
(CALL 2 (E LEXORDER) S)
(JUMPE 1 TAG2)
(HRRZ@ 2 0 P)
(HLRZ@ 1 0 P)
(CALL 2 (E CONS) S)
(HRRM@ 1 0 P)
(MOVE 1 -1 P)
(HRLM@ 1 0 P)
(MOVE 1 0 P)
(JRST 0 TAG1)
TAG2 (HRRZ@ 1 0 P)
(JUMPN 1 TAG3)
(MOVE 1 -1 P)
(CALL 1 (E NCONS) S)
(HRRM@ 1 0 P)
(MOVE 1 0 P)
(JRST 0 TAG1)
TAG3 (HRRZ@ 2 0 P)
(MOVE 1 -1 P)
(CALL 2 (E DLEXINSERT1) S)
TAG1 (SUB P (C 2 0 2 0))
(POPJ P)
NIL
(LAP DROP SUBR)
(PUSH P 1)
(PUSH P (C 0 0 TAG1 0))
(MOVEI D (QUOTE LIST) S)
(PUSH P D)
(PUSH P 1)
(MOVNI 6 2)
(JCALL 16 (E MAPCAR) S)
TAG1 (SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP MERGE SUBR)
(PUSH P 1)
(PUSH P 2)
(JUMPN 1 TAG2)
(MOVE 1 2)
(JRST 0 TAG1)
TAG2 (JUMPN 2 TAG4)
(JRST 0 TAG1)
TAG4 (HLRZ@ 2 2)
(HLRZ@ 1 1)
(CALL 2 (E LEXORDER) S)
(JUMPE 1 TAG6)
(HLRZ@ 1 -1 P)
(MOVE 2 0 P)
(PUSH P 1)
(HRRZ@ 1 -2 P)
(CALL 2 (E MERGE) S)
(POP P 2)
(CALL 2 (E XCONS) S)
(JRST 0 TAG1)
TAG6 (HLRZ@ 1 0 P)
(HRRZ@ 2 0 P)
(PUSH P 1)
(MOVE 1 -2 P)
(CALL 2 (E MERGE) S)
(POP P 2)
(CALL 2 (E XCONS) S)
TAG1 (SUB P (C 2 0 2 0))
(POPJ P)
NIL
(LAP PAIRMERGE SUBR)
(PUSH P 1)
(JUMPE 1 TAG1)
(HRRZ@ 1 1)
(JUMPN 1 TAG2)
(MOVE 1 0 P)
(JRST 0 TAG1) TAG2 (HRRZ@ 2 0 P)
(HLRZ@ 2 2)
(HLRZ@ 1 0 P)
(CALL 2 (E MERGE) S)
(PUSH P 1)
(HRRZ@ 1 -1 P)
(HRRZ@ 1 1)
(CALL 1 (E PAIRMERGE) S)
(POP P 2)
(CALL 2 (E XCONS) S)
TAG1 (SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP RENAMEF FSUBR)
(PUSH P 1)
(MOVE 2 (SPECIAL NAMES) S)
(CALL 1 (E CADR) S)
(CALL 2 (E MEMQ) S)
(JUMPE 1 TAG2)
(MOVEI 1 (QUOTE "NEW NAME CONFLICTS WITH EXISTING NAME") S)
(JRST 0 TAG1)
TAG2 (MOVE 2 (SPECIAL NAMES) S)
(HLRZ@ 1 0 P)
(CALL 2 (E MEMQ) S)
(JUMPN 1 TAG3)
(MOVEI 1 (QUOTE "OLD NAME DOES NOT EXIST") S)
(JRST 0 TAG1)
TAG3 (MOVEI 2 (QUOTE (EXPR FEXPR LEXPR MACRO)) S)
(HLRZ@ 1 0 P)
(CALL 2 (E GETL) S)
(PUSH P 1)
(JUMPE 1 TAG13)
(HLRZ@ 2 1)
(HLRZ@ 1 -1 P)
(CALL 2 (E GET) S)
(MOVE 3 2)
(EXCH 2 1)
(HRRZ@ 1 -1 P)
(HLRZ@ 1 1)
(CALL 3 (E PUTPROP) S)
(HLRZ@ 2 0 P)
(HLRZ@ 1 -1 P)
(CALL 2 (E REMPROP) S)
(MOVE 2 (SPECIAL NAMES) S)
(HLRZ@ 1 -1 P)
(CALL 2 (E DREMOVE) S)
(MOVE 2 (SPECIAL NAMES) S)
(HRRZ@ 1 -1 P)
(HLRZ@ 1 1)
(PUSH P (SPECIAL NAMELIST) S)
(CALL 2 (E DLEXINSERT) S)
(MOVEM 1 (SPECIAL NAMES) S)
(MOVE 2 1)
(POP P 1)
(CALL 2 (E SET) S)
(MOVE 2 -1 P)
(MOVEI 1 (QUOTE R) S)
(CALL 2 (E CONS) S)
(CALL 1 (E NCONS) S)
(MOVE 2 (SPECIAL NAMELIST) S)
(CALL 2 (E XCONS) S)
(CALL 17 (E EDITFNS) S)
(JRST 0 TAG12)
TAG13
TAG12 (MOVEI 1 (QUOTE NIL))
(SUB P (C 1 0 1 0))
TAG1 (SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP SAVE FSUBR)
(PUSH P 1)
(PUSH P (SPECIAL *NOPOINT) S)
(CLEARM 0 (SPECIAL *NOPOINT) S)
(MOVEI 1 (QUOTE NIL))
(CALL 17 (E UNBREAK) S)
(PUSH P 1)
(MOVE 1 (SPECIAL NAMELIST) S)
(CALL 1 (E NCONS) S)
(HLRZ@ 2 -2 P)
(CALL 2 (E XCONS) S)
(CALL 17 (E DSKOUT) S)
(MOVE 1 -1 P)
(MOVEM 1 (SPECIAL *NOPOINT) S)
(MOVE 1 0 P)
(CALL 17 (E BREAK) S)
(MOVEI 1 (QUOTE NIL))
(SUB P (C 3 0 3 0))
(POPJ P)
NIL
(LAP SETNL FSUBR)
(PUSH P 1)
(JUMPN 1 TAG2)
(MOVE 1 (SPECIAL NAMELIST) S)
(JRST 0 TAG1)
TAG2 (HLRZ@ 1 0 P)
(CALL 1 (E *EVAL) S)
(MOVEM 1 (SPECIAL NAMES) S)
(HLRZ@ 1 0 P)
(MOVEM 1 (SPECIAL NAMELIST) S)
TAG1 (SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP SORT SUBR)
(PUSH P 1)
(JUMPN 1 TAG2)
(MOVE 1 0 P)
(JRST 0 TAG1)
TAG2 (MOVE 1 0 P)
(CALL 1 (E DROP) S)
(CALL 1 (E SORT1) S)
TAG1 (SUB P (C 1 0 1 0))
(POPJ P)
NIL
(LAP SORT1 SUBR)
(PUSH P 1)
(HRRZ@ 1 1)
(JUMPN 1 TAG2)
(HLRZ@ 1 0 P)
(JRST 0 TAG1)
TAG2 (MOVE 1 0 P)
(CALL 1 (E PAIRMERGE) S)
(CALL 1 (E SORT1) S)
TAG1 (SUB P (C 1 0 1 0))
(POPJ P)
NIL